Today many enterprises now use cloud-based computing platforms that allow services and data to be accessed over the Internet (or via other networks). Infrastructure providers of these cloud-based computing platforms offer network-based processing systems that often support multiple enterprises (or tenants) using common computer hardware and data storage. This “cloud” computing model allows applications to be provided over a platform “as a service” supplied by the infrastructure provider. The infrastructure provider typically abstracts the underlying hardware and other resources used to deliver a customer-developed application so that the customer no longer needs to operate and support dedicated server hardware. The cloud computing model can often provide substantial cost savings to the customer over the life of the application because the customer no longer needs to provide dedicated network infrastructure, electrical and temperature controls, physical security and other logistics in support of dedicated server hardware.
Many cloud-based applications are generated based on data that is accessed from storage, and then delivered to a user system such as a mobile device or desktop computer. For example, the Salesforce Mobile platform offered by Salesforce.com provides a customer relationship management application that can provide an end user with sophisticated customer relationship data. Records for each customer can be stored at a server system. The end user can launch the Salesforce Mobile application and submit requests to the server system over a network to access records that are relevant to a particular customer. The server system fetches the relevant records, which can then be presented to the end user via the Salesforce Mobile application to provide the end user with a wealth of information about that particular customer.